Skip to content

Complete Lane G planning acceptance - #152

Merged
mchwang merged 3 commits into
mainfrom
codex/lane-g4-planning-acceptance
Oct 9, 2026
Merged

mchwang merged 3 commits into
mainfrom
codex/lane-g4-planning-acceptance

Conversation

@mchwang

@mchwang mchwang commented Oct 8, 2026 •

Copy link
Copy Markdown
Contributor

Summary

  • add G4's composed browser acceptance across productionPlanning, the D-backed createPlanningProvider boundary, F's production HTTP lifecycle and the SQLite Store
  • prove suggestions and whole-plan drafts render and Apply in the browser, survive a server restart and remain durable across independent SQLite reopens
  • assert the captured provider prompts contain the repository, snapshot base, issue title/body/comment, submitted guidance and persisted r2 plan context
  • reconcile T18's original two-agent wording with the later Codex-refusal decision while keeping Lane G/T18 pending on exact-head real-Docker validation

Tracks #145. This is the G4 completion PR.

Done when

npx playwright test test/browser/plans-production.spec.ts && npx vitest run test/planning-provider.test.ts test/planning-production.test.ts test/planning-recorded.test.ts && npm run typecheck passes, and test/agent-planning.test.ts passes on the exact head after the active F5 owner releases heavyweight Docker validation.

Validation

Exact base/head: 89707f86de76ca71060ae0a07496faf084d46088 → d22609c6e9ecaae3f52a0f33829d1908441833ab

  • G4 production browser acceptance: 1/1 passed
  • full Plans browser surface: 56/56 passed
  • complete non-Docker planning backend: 226/226 passed
  • focused provider/production/recorded suites on the final head: 57/57 passed
  • exact-head real-Docker planning: 1/1 passed in 12.16s
  • typecheck: passed
  • diff check: passed
  • exact-head push CI: passed in 6m37s
  • exact-head pull-request CI: passed in 7m10s

Review record

  • Author self-review: complete full-diff pass before independent review.
  • Independent round 1 on 89707f8..11cf81d: found two valid P2s. The composed test did not assert enough of the captured prompt, and the architecture completion wording conflicted with T18's source checklist.
  • Fixes: assert base ref, issue body/comment and persisted r2 context in the provider prompt; record the D: pass the answer schema to both vendors; decide how Codex reads code in read-only phases #75/D: decide how Codex reads code in review, execute and fix (shell is off in every phase) #93 Codex-refusal decision; keep every G/T18 status pending on the one exact-head Docker gate.
  • Independent round 2 on 89707f8..23a1798: clean, with both prior findings resolved and no new findings.
  • After F5 released Docker ownership, exact-head agent-planning.test.ts passed 1/1; the three source-of-truth status records were changed from pending to complete.
  • Independent round 3 on 89707f8..d22609c: clean; both earlier findings remain resolved and the Lane G/T18 completion evidence is consistent.
  • Declined findings: none.
  • Copilot round 1 on d22609c: approval recommended, 0 open findings; no earlier valid finding remains unresolved.

Review-lesson audit

  • The prompt-boundary finding is covered by the existing rule requiring acceptance fixtures to assert the disputed intermediate representation before relying on downstream outcomes.
  • The completion-status finding is covered by the existing external-status rule: requested, built, validated and complete remain distinct states.
  • No new AGENTS.md/CLAUDE.md rule is needed.

Integration note

PR #149 also edits docs/architecture.md and has already integrated the G3 version from main. Whichever branch integrates second must preserve both F5/F6 status and G4's final Lane G status rather than choosing one side wholesale.

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟢 Approval recommended

The composed acceptance and supporting documentation consistently satisfy the stated G4 completion criteria.

0 open findings

What changed in this PR

Completes Lane G/T18 planning acceptance across browser, provider, HTTP lifecycle, and durable SQLite storage.

Changes:

  • Adds composed production planning browser acceptance.
  • Verifies prompt context, schema mounting, restart persistence, and Store reopening.
  • Marks G4 and T18 complete with reconciled Codex-refusal documentation.
File Description
test/​browser/​plans-production.spec.ts Adds end-to-end production planning acceptance.
docs/​implementation/​planning-screen.md Documents G4 integration and coverage.
docs/​implementation/​planning-acceptance.md Records T18 completion evidence.
docs/​designs/​codeboost-plan-indexed-review.md Updates T18 status and Codex criteria.
docs/​architecture.md Marks Lane G complete.

🧠 Review effort: Balanced


💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

@mchwang
mchwang marked this pull request as ready for review October 8, 2026 23:26
@mchwang
mchwang merged commit 5ecf92f into main Oct 9, 2026
3 checks passed
@mchwang
mchwang deleted the codex/lane-g4-planning-acceptance branch October 9, 2026 00:25
mchwang added a commit that referenced this pull request Oct 10, 2026
* Close out Lane G status records (#145)

Lane G (G1-G4) merged in PRs #148, #150, #151 and #152. The README and
the design overview still described the Planning screen as unbuilt, and
build step 6 said "no screen yet". Record the screen as built, mark build
step 6 done, and record Lane G's release of the shared web files plus
the remaining lane F follow-up (#146) in the planning-screen document.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* Point lane status readers to the live table; name released files (#145)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* Clarify Lane G handoff and screen name (#145)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* Tighten Lane G handoff wording (#145)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* Mark lane G done in the Wave 2 table; state #146 ownership source (#145)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* Name the web files lane G released in the Wave 2 table (#145)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* Put the finished lane G row in the past tense (#145)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* Drop unneeded history from the lane G row (#145)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* Match the H row layout; cite where #146 is assigned to lane F (#145)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* README: planning agent needs a github review, not the demo (#145)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* Clarify met G4 condition and demo limits (#145)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* Put wave 2 ownership rules in the past tense (#145)

Copilot round 1 found that the Wave 2 note and integration rule 2 still
gave G active ownership of web files the handoff says were released.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* Record where H4a's web files went after G1 (#145)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* Name G3's one web/server.ts change in the handoff records (#145)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* Put the H4a ownership bullet in the past tense (#145)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* Name F's wave 2 server files in integration rule 2 (#145)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* Remove unneeded ownership history; quote the AGENTS.md rule (#145)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* Keep only supported ownership history (#145)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* Describe wave 1 config ownership as the plan's (#145)

Copilot round 2 found that rule 2 still stated C's and D's finished
wave 1 assignments as active rules.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* Mark the lane plans as the original schedule (#145)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* Link the Lane G close-out follow-ups (#155, #156) (#145)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* List all open Lane G follow-ups in the handoff (#145)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* Note what the Plans screen does for amendments today (#145)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* Match the handoff to #155's scope (#145)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* Update next steps and menu-link status for the Plans screen (#145)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* Describe the built Dismiss control in plan-format (#145)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* Match plan-format's Plans screen controls to the built screen (#145)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* Mark unbuilt Plans screen design features (#155) (#145)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* Match the handoff to #155's widened scope (#145)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* Name the suggestion Apply control; date the Plans DT update (#145)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* Correct the amendment and Settings notes (#145)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* Qualify build step 6 status with #155's unbuilt parts (#145)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* Place the refresh line below the cards in plan-format (#145)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* Qualify the Plans screen in What to do next (#145)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* Say the Plans screen has no approval step yet (#145)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* List the approval step among #155's unbuilt parts (#145)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* Put lane H's ownership section in the past tense (#145)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* Put the H4b bullet in the past tense (#145)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* Keep H4b's storage note as the original plan (#145)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* Keep plan-format's v1 contract text; list shipped differences separately (#145)

Copilot round 3: the guide's suggestion-card wording had been changed to
match the shipped screen, which conflicts with the immutable v1 contract
(schema/versions/1/semantics.md). Restore the contract-mirroring text,
describe what the shipped screen does in its own section, and track the
non-conformance in #159.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* Cite #159 in status lines; note the #146 import limit (#145)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* List the amendment-proposal gap in plan-format's shipped section (#145)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* Record that #146 was fixed by PR #158 (#145)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants